package com.company.HDFS;

import java.io.*;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Timeconvert {
    public static void main(String[] args) throws Exception {

        //读取原始文件
        File file = new File("J:\\the_efforts_paid_offf\\HDFS_HBase_HiveApi\\src\\main\\java\\com\\company\\datas\\userbehavior.txt");
        //定义输入缓冲流
        BufferedReader reader = null;
        //定义输出缓冲流
        BufferedWriter writer;
        try {
            //读取文件数据
            reader = new BufferedReader(new FileReader(file));
            //打开输出数据管道
            writer=new BufferedWriter(new FileWriter("J:\\the_efforts_paid_offf\\HDFS_HBase_HiveApi\\src\\main\\java\\com\\company\\output\\user.data"));
            String tempStr;
            //定义时间格式
            SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            while ((tempStr = reader.readLine()) != null) {
                //文件数据按\t分隔
                String[] split = tempStr.split("\t");
                Date parse = sdf.parse(split[4]);
                Long aLong = Long.valueOf(parse.getTime());
                //转为数字
                long date_temp = Long.valueOf(aLong);
                //2017年12月3日 00:00:00的时间戳为1512230400，2017年11月25日 00:00:00的时间按戳为1511539200
               if(date_temp>=1511539200&&date_temp<1512230400){
                   //若时间是在两者之间，就进行时间戳转为日期
                   split[4] = sdf.format(new Date(date_temp * 1000L));
                   //输出处理后的数据到文件
                   writer.write(split[0]+"\t"+split[1]+"\t"+split[2]+"\t"+split[3]+"\t"+split[4]);
                   writer.newLine();
               }
            }
            //关闭流
            reader.close();
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (reader != null) {
                try {
                    reader.close();
                } catch (IOException e1) {
                    e1.printStackTrace();
                }
            }
        }
        }
}